#ifndef _EDITINTERACTOR_H_
#define _EDITINTERACTOR_H_

#include <SEUi/Interactor/Interactor.h>
#include <SEEdit/Render/RenderFeature/DebugRenderFeature.h>

namespace SEngine
{
    class PickedInteractor;
    class EditInteractor : public Interactor
    {
        friend class PickedInteractor;
    public:
        EditInteractor(Widget & widget) : Interactor(widget) {}
        virtual ~EditInteractor() = default;

    protected:
        virtual void OnMousePressEvent(MousePressEventPtr) override;
        virtual void OnMouseReleaseEvent(MouseReleaseEventPtr) override;
        virtual void OnMouseMoveEvent(MouseMoveEventPtr) override;
        virtual void OnMouseWheelEvent(MouseWheelEventPtr) override;
        virtual void OnKeyPressEvent(KeyPressEventPtr) override;
        virtual void OnKeyReleaseEvent(KeyReleaseEventPtr) override;
    private:
        bool m_isMouseLeftPressed{false};
        bool m_isMouseRightPressed{false};
        int m_pressedX;
        int m_pressedY;
    };
} // namespace SEngine


#endif